package com.ruoyi.categories.mapper;

import java.util.List;

import com.ruoyi.books.domain.Books;
import com.ruoyi.categories.domain.Categories;

/**
 * 图书分类信息Mapper接口
 * 
 * @author ruoyi
 * @date 2025-05-29
 */
public interface CategoriesMapper 
{
    /**
     * 查询图书分类信息
     * 
     * @param categoryId 图书分类信息主键
     * @return 图书分类信息
     */
    public Categories selectCategoriesByCategoryId(Long categoryId);

    /**
     * 查询图书分类信息列表
     * 
     * @param categories 图书分类信息
     * @return 图书分类信息集合
     */
    public List<Categories> selectCategoriesList(Categories categories);

    /**
     * 新增图书分类信息
     * 
     * @param categories 图书分类信息
     * @return 结果
     */
    public int insertCategories(Categories categories);

    /**
     * 修改图书分类信息
     * 
     * @param categories 图书分类信息
     * @return 结果
     */
    public int updateCategories(Categories categories);

    /**
     * 删除图书分类信息
     * 
     * @param categoryId 图书分类信息主键
     * @return 结果
     */
    public int deleteCategoriesByCategoryId(Long categoryId);

    /**
     * 批量删除图书分类信息
     * 
     * @param categoryIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCategoriesByCategoryIds(Long[] categoryIds);

    /**
     * 批量删除存储图书基本信息
     * 
     * @param categoryIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBooksByCategoryIds(Long[] categoryIds);
    
    /**
     * 批量新增存储图书基本信息
     * 
     * @param booksList 存储图书基本信息列表
     * @return 结果
     */
    public int batchBooks(List<Books> booksList);
    

    /**
     * 通过图书分类信息主键删除存储图书基本信息信息
     * 
     * @param categoryId 图书分类信息ID
     * @return 结果
     */
    public int deleteBooksByCategoryId(Long categoryId);
}
